<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>QSculpt: data::Octree&lt; Type, ToPointFn &gt; Class Template Reference</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css" />

<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->


<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">QSculpt
   &#160;<span id="projectnumber">0.0.1a</span>
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
  <div id="nav-path" class="navpath">
    <ul>
      <li class="navelem"><b>data</b>      </li>
      <li class="navelem"><a class="el" href="classdata_1_1_octree.html">Octree</a>      </li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#friends">Friends</a>  </div>
  <div class="headertitle">
<div class="title">data::Octree&lt; Type, ToPointFn &gt; Class Template Reference</div>  </div>
</div>
<div class="contents">
<!-- doxytag: class="data::Octree" --><!-- doxytag: inherits="ICollection&lt; Type &gt;" --><div class="dynheader">
Inheritance diagram for data::Octree&lt; Type, ToPointFn &gt;:</div>
<div class="dyncontent">
 <div class="center">
  <img src="classdata_1_1_octree.png" usemap="#data::Octree&lt; Type, ToPointFn &gt;_map" alt=""/>
  <map id="data::Octree&lt; Type, ToPointFn &gt;_map" name="data::Octree&lt; Type, ToPointFn &gt;_map">
<area href="classdata_1_1_i_collection.html" alt="data::ICollection&lt; Type &gt;" shape="rect" coords="0,0,199,24"/>
</map>
 </div></div>

<p><a href="classdata_1_1_octree-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6954d34ad01d72405e167ad0ecf64987"></a><!-- doxytag: member="data::Octree::Octree" ref="a6954d34ad01d72405e167ad0ecf64987" args="(const Octree&lt; Type, ToPointFn &gt; &amp;cpy)" -->
&#160;</td><td class="memItemRight" valign="bottom"><b>Octree</b> (const <a class="el" href="classdata_1_1_octree.html">Octree</a>&lt; Type, ToPointFn &gt; &amp;cpy)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#a96711a27f13a1f1935a9779c41476f7f">add</a> (const Type &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#a880cb9fe7604fa65dee2b325ef430b1c">size</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af198a74db0b3be7f9d4d8d470ca4872d"></a><!-- doxytag: member="data::Octree::findClosest" ref="af198a74db0b3be7f9d4d8d470ca4872d" args="(const Point3 &amp;v) const " -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>findClosest</b> (const Point3 &amp;v) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#a9624c5a31cef3599fda3faf93c8801f5">findClosest</a> (Type &amp;, const Point3 &amp;, float) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#a2e6937fbcbb8b10e6411ba6c1db14b97">findFirstIntersect</a> (Type &amp;, const <a class="el" href="classgeometry_1_1_ray.html">geometry::Ray</a> &amp;) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#ad390602d0bcca9780f172fe8c4ff0f3f">findIntersect</a> (const <a class="el" href="classgeometry_1_1_ray.html">geometry::Ray</a> &amp;, <a class="el" href="classdata_1_1_i_collection.html">data::ICollection</a>&lt; Type &gt; *) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9e553841c2221b88a4dad18109194ca1"></a><!-- doxytag: member="data::Octree::findIntersect" ref="a9e553841c2221b88a4dad18109194ca1" args="(const geometry::AABB &amp;, data::ICollection&lt; Type &gt; *) const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>findIntersect</b> (const <a class="el" href="classgeometry_1_1_a_a_b_b.html">geometry::AABB</a> &amp;, <a class="el" href="classdata_1_1_i_collection.html">data::ICollection</a>&lt; Type &gt; *) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abf170691d0f8f8cdc60776034dd904f4"></a><!-- doxytag: member="data::Octree::getData" ref="abf170691d0f8f8cdc60776034dd904f4" args="()" -->
Type *&#160;</td><td class="memItemRight" valign="bottom"><b>getData</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf450669fbe0c69fdb5c68acc66d4b01"></a><!-- doxytag: member="data::Octree::operator[]" ref="acf450669fbe0c69fdb5c68acc66d4b01" args="(int index)" -->
Type &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8dbfbcba633035bfe2d0de473b04b9dd"></a><!-- doxytag: member="data::Octree::operator[]" ref="a8dbfbcba633035bfe2d0de473b04b9dd" args="(int index) const " -->
const Type &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator[]</b> (int index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6de91d069267c3723c0e7ae7c9416492"></a><!-- doxytag: member="data::Octree::at" ref="a6de91d069267c3723c0e7ae7c9416492" args="(int index) const " -->
const Type &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>at</b> (int index) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bb0832f073f9d1d9a1faf89b74d272f"></a><!-- doxytag: member="data::Octree::contains" ref="a9bb0832f073f9d1d9a1faf89b74d272f" args="(const Type &amp;v) const " -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>contains</b> (const Type &amp;v) const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae67d5a2a9e15888c4cb5aa7de4069c6d"></a><!-- doxytag: member="data::Octree::append" ref="ae67d5a2a9e15888c4cb5aa7de4069c6d" args="(const Type &amp;v)" -->
bool&#160;</td><td class="memItemRight" valign="bottom"><b>append</b> (const Type &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#ac730973ef0aa75293aae7fd2fb85610c">remove</a> (const Type &amp;v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aabaf07e575eed4b5469278e5bcdc356d"></a><!-- doxytag: member="data::Octree::remove" ref="aabaf07e575eed4b5469278e5bcdc356d" args="(int index)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>remove</b> (int index)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a4d188550df9b0cc936960c96712d4d"></a><!-- doxytag: member="data::Octree::clear" ref="a5a4d188550df9b0cc936960c96712d4d" args="()" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>clear</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a971a32f76026a6ebf2e4135c7ba3d4ef"></a><!-- doxytag: member="data::Octree::size" ref="a971a32f76026a6ebf2e4135c7ba3d4ef" args="() const " -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>size</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a744dbdcb80f352d097823356838fa603"></a><!-- doxytag: member="data::Octree::reserve" ref="a744dbdcb80f352d097823356838fa603" args="(int _size)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>reserve</b> (int _size)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1e24bb9106e0dc55f16e5f77b6a79501"></a><!-- doxytag: member="data::Octree::toString" ref="a1e24bb9106e0dc55f16e5f77b6a79501" args="()" -->
QString&#160;</td><td class="memItemRight" valign="bottom"><b>toString</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bae53ea18ee19de402aab14b838b379"></a><!-- doxytag: member="data::Octree::toQVector" ref="a3bae53ea18ee19de402aab14b838b379" args="()" -->
QVector&lt; Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>toQVector</b> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab9c0117bfdb47892c735af99ccd93de2"></a><!-- doxytag: member="data::Octree::toQVector" ref="ab9c0117bfdb47892c735af99ccd93de2" args="() const " -->
const QVector&lt; Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>toQVector</b> () const </td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_iterator.html">Iterator</a>&lt; Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#af1b5ab2c84fe4c6ca3179000802b38e3">iterator</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">std::vector&lt; Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classdata_1_1_octree.html#a35158737f9fadd5236a1ab23d8c4e9e6">toStdVector</a> ()</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac78268ce2df4f1527dfbf7ce893ddc14"></a><!-- doxytag: member="data::Octree::toStdSet" ref="ac78268ce2df4f1527dfbf7ce893ddc14" args="()" -->
std::set&lt; Type &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>toStdSet</b> ()</td></tr>
<tr><td colspan="2"><h2><a name="friends"></a>
Friends</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7d8e05b2a793df4000258466ddd261ad"></a><!-- doxytag: member="data::Octree::OctreeNode&lt; Type, ToPointFn &gt;" ref="a7d8e05b2a793df4000258466ddd261ad" args="" -->
class&#160;</td><td class="memItemRight" valign="bottom"><b>OctreeNode&lt; Type, ToPointFn &gt;</b></td></tr>
</table>
<h3>template&lt;typename Type, typename ToPointFn&gt;<br/>
 class data::Octree&lt; Type, ToPointFn &gt;</h3>

<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="a96711a27f13a1f1935a9779c41476f7f"></a><!-- doxytag: member="data::Octree::add" ref="a96711a27f13a1f1935a9779c41476f7f" args="(const Type &amp;v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::add </td>
          <td>(</td>
          <td class="paramtype">const Type &amp;&#160;</td>
          <td class="paramname"><em>element</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Add a new element to the collection.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">element</td><td>element to add to the collection. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#a929b37c8ab211312889f8843cf437724">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a9624c5a31cef3599fda3faf93c8801f5"></a><!-- doxytag: member="data::Octree::findClosest" ref="a9624c5a31cef3599fda3faf93c8801f5" args="(Type &amp;, const Point3 &amp;, float) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::findClosest </td>
          <td>(</td>
          <td class="paramtype">Type &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const Point3 &amp;&#160;</td>
          <td class="paramname"><em>p</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>maxDistance</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Find the closest element to the point p.</p>
<p>This function find the closest primitive to the point p that is whitin a maxDistance radius. By default the radius is -1, meaning that we don't care the minimum distance.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">p</td><td>query point to which we want to find the closest point to that </td></tr>
    <tr><td class="paramname">maxDistance</td><td>look for the closest points within this radius. If maxDistance is negative, just look for the closest point, no matter at what distance it is. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#a1f409891bed4dc8e13aa1295c69750f3">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a2e6937fbcbb8b10e6411ba6c1db14b97"></a><!-- doxytag: member="data::Octree::findFirstIntersect" ref="a2e6937fbcbb8b10e6411ba6c1db14b97" args="(Type &amp;, const geometry::Ray &amp;) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::findFirstIntersect </td>
          <td>(</td>
          <td class="paramtype">Type &amp;&#160;</td>
          <td class="paramname"><em>out</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classgeometry_1_1_ray.html">geometry::Ray</a> &amp;&#160;</td>
          <td class="paramname"><em>ray</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Overload method </p>
<dl class="see"><dt><b>See also:</b></dt><dd>findClosest Find an element that a given ray intersects it.</dd></dl>
<p>It returns the first element found that intersect the ray. This does not mean that it is the closest element with respect the ray.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ray</td><td>Ray to use for intersection test against every element. </td></tr>
    <tr><td class="paramname">out</td><td>the element found value is placed in this instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>true if a ray intersects a least one element. Otherwise, false </dd></dl>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#a36d8311618bee20dd6616d3880c7072d">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ad390602d0bcca9780f172fe8c4ff0f3f"></a><!-- doxytag: member="data::Octree::findIntersect" ref="ad390602d0bcca9780f172fe8c4ff0f3f" args="(const geometry::Ray &amp;, data::ICollection&lt; Type &gt; *) const " -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">bool <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::findIntersect </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classgeometry_1_1_ray.html">geometry::Ray</a> &amp;&#160;</td>
          <td class="paramname"><em>ray</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="classdata_1_1_i_collection.html">data::ICollection</a>&lt; Type &gt; *&#160;</td>
          <td class="paramname"><em>bag</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Find all the elements that intersects a given ray.</p>
<p>This method returns all element which pass through a given ray. Each element found is inserted in the collection bag. If no bag is passed (bag = NULL), then it just return if an intersections has occured.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">ray</td><td>Ray to use for intersection test against every element. </td></tr>
    <tr><td class="paramname">bag</td><td>A <a class="el" href="classdata_1_1_i_collection.html">ICollection</a> object to insert the element found.</td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>a boolean value stating if an intersection acurred. </dd></dl>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#a33a4c898434a9217a74e7201d474deb7">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="af1b5ab2c84fe4c6ca3179000802b38e3"></a><!-- doxytag: member="data::Octree::iterator" ref="af1b5ab2c84fe4c6ca3179000802b38e3" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_iterator.html">Iterator</a>&lt;Type&gt; <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::iterator </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Creates an iterator over the collection class </p>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#ad7b76e3a3a7aedf051ab8cbf0ddb2b68">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="ac730973ef0aa75293aae7fd2fb85610c"></a><!-- doxytag: member="data::Octree::remove" ref="ac730973ef0aa75293aae7fd2fb85610c" args="(const Type &amp;v)" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">void <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::remove </td>
          <td>(</td>
          <td class="paramtype">const Type &amp;&#160;</td>
          <td class="paramname"><em>element</em></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Removes a new element from the collection.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">element</td><td>element to remove from the collection. </td></tr>
  </table>
  </dd>
</dl>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#a34e9de5c3c445f15d821cba133ab046a">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a880cb9fe7604fa65dee2b325ef430b1c"></a><!-- doxytag: member="data::Octree::size" ref="a880cb9fe7604fa65dee2b325ef430b1c" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">int <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Return the number of elements contained in the collection. </p>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#aa9dc5fb6169a77c7c3ca0cb0b92df92b">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<a class="anchor" id="a35158737f9fadd5236a1ab23d8c4e9e6"></a><!-- doxytag: member="data::Octree::toStdVector" ref="a35158737f9fadd5236a1ab23d8c4e9e6" args="()" -->
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Type, typename ToPointFn&gt; </div>
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt;Type&gt; <a class="el" href="classdata_1_1_octree.html">data::Octree</a>&lt; Type, ToPointFn &gt;::toStdVector </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Returns all the elements in a std::vector. It copies the data into a std::vector&lt;&gt; class instance. The data has to be copiable/assignable. </p>

<p>Implements <a class="el" href="classdata_1_1_i_collection.html#a8b14debf48c6660c15145d2efefbc1f2">data::ICollection&lt; Type &gt;</a>.</p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>engine/include/<a class="el" href="_octree_8h_source.html">Octree.h</a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>



<hr class="footer"/><address class="footer"><small>
Generated on Thu May 31 2012 16:19:52 for QSculpt by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.7.5.1
</small></address>

</body>
</html>
